package com.lcfc.attend.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.lcfc.attend.entity.DailyAttendance;
import com.lcfc.attend.entity.ProjectEmp;
import com.lcfc.attend.entity.SysOffice;
import com.lcfc.attend.entity.vo.DailyAttendanceVo;
import com.lcfc.attend.entity.vo.DutyMan;
import com.lcfc.attend.entity.vo.EmpDetailVo;
import com.lcfc.attend.entity.vo.MainChart;
import com.lcfc.attend.entity.vo.ProjectEmpVo;
import com.lcfc.attend.entity.vo.PunchReport;
@Mapper
public interface ProjectEmpMapper {
    int deleteByPrimaryKey(String id);

    int insert(ProjectEmp record);

    int insertSelective(ProjectEmp record);

    ProjectEmp selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(ProjectEmp record);

    int updateByPrimaryKey(ProjectEmp record);
    /**
     * 根据usercode获取部门详情
     * @param usercode
     * @return
     */
	List<SysOffice> queryOffices(@Param(value="usercode")String usercode);
	/**
	 * 根据office获取总数
	 * @param officeCode
	 * @param string
	 * @return
	 */
	PunchReport queryTotalByOffice(@Param(value="officeCode")String officeCode, @Param(value="type")String type);
	/**
	 * 获取首页在岗人数
	 * @param usercode
	 * @return
	 */
	DutyMan queryDuryNum(@Param(value="usercode")String usercode);
	/**
	 * 获取首页在岗人数
	 * @param usercode
	 * @return
	 */
	DutyMan queryPunchNum(@Param(value="usercode")String usercode);
	/**
	 * 获取打卡人数
	 * @param officeCode
	 * @param string
	 * @return
	 */
	MainChart queryClock(@Param(value="officeCode")String officeCode, @Param(value="flag")String flag);
	/**
	 * 获取未打卡人数
	 * @param officeCode
	 * @param string
	 * @return
	 */
	MainChart queryNoClock(@Param(value="officeCode")String officeCode, @Param(value="flag")String flag);
	/**
	 * 安检人员列表
	 * @param officeCodes
	 * @param dateFlag 
	 * @return
	 */
	List<ProjectEmpVo> queryEmpList(@Param(value="officeCodes")String officeCodes, @Param(value="dateFlag")String dateFlag);
	/**
	 * 获取员工基本信息
	 * @param empId
	 * @return
	 */
	EmpDetailVo queryEmpDetail(@Param(value="empId")String empId);
}